package com.event.common.face;

import java.io.Serializable;
import java.util.List;
import java.util.function.Function;
/*
 * @description 清除名称空间（目前是根据命名空间清理）
 * @author Bing
 * @date 2024/10/8 13:48
 **/
public interface IClearNameSpace<T> {
    /**
     * 获取缓存名称空间
     * @return
     */
    String namespaceAlias();

    /**
     * 批量获取记录
     * @param ids
     * @return
     */
    List<T> getRecordByIds(List<? extends Serializable> ids);

    /**
     * 关联id 值
     * @return
     */
    Function<T,Object>[] idValues();

    /**
     * 执行之前异步
     * @return
     */
    default boolean beforeAsync(){
        return true;
    }

    /**
     * 执行之后异步
     * @return
     */
    default boolean afterAsync(){
        return true;
    }
}
